95 research outputs found

    Resolving zero-divisors using Hensel lifting

    Full text link
    Algorithms which compute modulo triangular sets must respect the presence of zero-divisors. We present Hensel lifting as a tool for dealing with them. We give an application: a modular algorithm for computing GCDs of univariate polynomials with coefficients modulo a radical triangular set over the rationals. Our modular algorithm naturally generalizes previous work from algebraic number theory. We have implemented our algorithm using Maple's RECDEN package. We compare our implementation with the procedure RegularGcd in the RegularChains package.Comment: Shorter version to appear in Proceedings of SYNASC 201

    High performance SIMD modular arithmetic for polynomial evaluation

    Full text link
    Two essential problems in Computer Algebra, namely polynomial factorization and polynomial greatest common divisor computation, can be efficiently solved thanks to multiple polynomial evaluations in two variables using modular arithmetic. In this article, we focus on the efficient computation of such polynomial evaluations on one single CPU core. We first show how to leverage SIMD computing for modular arithmetic on AVX2 and AVX-512 units, using both intrinsics and OpenMP compiler directives. Then we manage to increase the operational intensity and to exploit instruction-level parallelism in order to increase the compute efficiency of these polynomial evaluations. All this results in the end to performance gains up to about 5x on AVX2 and 10x on AVX-512

    The Maple Computer Algebra System

    No full text

    How to program with formulas in Maple: Formulas in Maple

    No full text
    Maple's main strength is its ability to compute with mathematical formulasand not just with numbers. It can multiply and factor, differentiate and integrate, and simplify formulas. In this article, using differentiation as an example, I explain how to program with formulas in Maple. The key is the data representation that Maple uses for a formula and the operations Maple provides for operating on formulas. I will also discuss Automatic Differentiation as an alternative which differentiates programs

    Maximal quotient rational reconstruction: an almost optimal algorithm for rational reconstruction

    No full text
    Let n/d ∈ Q, mbe a positive integer and let u = n/d mod m. Thus u is the image of a rational number modulo m. The rational reconstruction problem is; given u and m find n/d. A solution was first given by Wang in 1981. Wang’s algorithm outputs n/d when m>2M 2 where M =max(|n|,d). Because of the wide application of this algorithm in computer algebra, several authors have investigated its practical efficiency and asymptotic time complexity. In this paper we present a new solution which is almost optimal in the following sense; with controllable high probability, our algorithm will output n/d when m is a modest number of bits longer than 2|n|d. This means that in a modular algorithm where m is a product of primes, the modular algorithm will need one or two primes more than the minimum necessary to reconstruct n/d; thusif|n | â‰Șd or d â‰Ș|n| the new algorithm saves up to half the number of primes. Further, our algorithm will fail with high probability when m<2|n|d

    A new edge selection heuristic for computing the Tutte polynomial of an undirected graph

    No full text
    Abstract. We present a new edge selection heuristic and vertex ordering heuristic that together enable one to compute the Tutte polynomial of much larger sparse graphs than was previously doable. As a specific example, we are able to compute the Tutte polynomial of the truncated icosahedron graph using our Maple implementation in under 4 minutes on a single CPU. This compares with a recent result of Haggard, Pearce and Royle whose special purpose C++ software took one week on 150 computers. RĂ©sumĂ©. Nous prĂ©sentons deux nouvelles heuristiques pour le calcul du polynĂŽme de Tutte de graphes de faible densitĂ©, basĂ©es sur les principes de sĂ©lection d’arĂȘtes et d’arrangement linĂ©aire de sommets, et qui permettent de traiter des graphes de bien plus grande tailles que les mĂ©thodes existantes. Par exemple, en utilisant notre implĂ©mentation en Maple, nous pouvons calculer le polynĂŽme de Tutte de l’isocahĂ©dron tronquĂ© en moins de 4 minutes sur un ordinateur Ă  processeur unique, alors qu’un programme ad-hoc rĂ©cent de Haggard, Pearce et Royle, utilisant 150 ordinateurs, a nĂ©cessitĂ© une semaine de calcul pour obtenir le mĂȘme rĂ©sultat

    Probabilistic Algorithms for Computing Resultants

    No full text
    Let A and B be two polynomials in   [x,y] and let R = resx(A, B) denote the resultant of A and B taken wrt x. In this paper we modify Collins ’ modular algorithm for computing R to make it output sensitive. The advantage of our algorithm is that it will be faster when the bounds needed by Collins ’ algorithm for the coefficients of R and for the degree of R are inaccurate. Our second contribution is an output sensitive modular algorithm for computing the monic resultant in ¡ [y]. The advantage of this algorithm is that it is faster still when the resultant has a large integer content. Both of our algorithms are necessarily probabilistic. The paper includes a number of resultant problems that motivate the need to consider such algorithms. We have implemented our algorithms in Maple. We have also implemented Collins ’ algorithm and the subresultant algorithm in Maple for comparison. The timings we obtain demonstrate that a good speedup is obtained

    In-place arithmetic for polynomials over Zn

    No full text
    monagan~inf.ethz.ch Abstract. We present space and time efficient algorithms for univariate polynomial arithmetic operations over Z mod n where the modulus n does not necessarily fit into is not a machine word. These algorithms provide the key tools for the efficient implementation of polynomial resultant gcd and factorization computation over Z, without having to write large amounts of code in a systems implementation language.

    Parallel Algorithms for Polynomials

    No full text
    I propose to work on the following problems in this area
    • 

    corecore